package team3;

import java.util.List;

public class MinMaxTreeNode
{
	private BoardState state;
	private int[] move;
	private List<MinMaxTreeNode> children;

	public MinMaxTreeNode(BoardState state, int[] lastMove)
	{
		//init
	}

	public double calculateGoodness(GoodnessFunction goodness, boolean shouldMaxamize, AI.Player player, int depth)
	{
		//if this node has no children, and depth is not zero,
		//	add children based on board state
		//if this node has no children, return the value of goodness
		//if this node has children, and it should maxamize goodness,
		//	return max(goodness of children trying to minimize goodness; other player, depth-1)
		//otherwise
		//	return min(goodness of children trying to maxamize goodness; other player, depth-1)
		return 0;
	}

	//returns the move that resulted in this node
	public int[] getMove()
	{
		return move;
	}

	//returns children of the node
	public List<MinMaxTreeNode> getChildren()
	{
		return children;
	}
}
